In computational complexity theory, SP
2 is a complexity class. A language is in if there exists a polynomial-time predicate P such that
where size of y and z must be polynomial of x.
Contents |
Every language in NP also belongs to SP
2. For by definition, a language L is in NP, if and only if there exists a polynomial-time verifier V(x,y), such that for every x in L there exists y for which V answers true, and such that for every x not in L, V always answers false. But such a verifier can easily be transformed into an SP
2 predicate P(x,y,z) for the same language that ignores z and otherwise behaves the same as V.
More strongly, the class SP
2 contains MA (a generalization of Sipser–Lautemann theorem) and .
By definition, SP
2 is contained in . Furthermore it is contained in ZPPNP. [1]
A version of Karp–Lipton theorem states that if every language in NP has polynomial size circuits then the polynomial time hierarchy collapses to SP
2. This result yields a strengthening of Kannan's theorem: it is known that SP
2 is not contained in SIZE(nk) for any fixed k.
As an extension, it is possible to define as an operator on complexity classes; then . Iteration of operator yields "symmetric hierarchy".